package com.xsd.observer.improve;

/**
 * @Description:
 * @Author: zhoufuzong
 * @Created: 2021-03-06 21:34:46
 * @Version: 1.1.0
 */

/**
 * 观察者模式的好处
 * 1) 观察者模式设计后，会以集合的方式来管理用户(Observer)，包括注册，移除
 * 和通知。
 * 2) 这样，我们增加观察者(这里可以理解成一个新的公告板)，就不需要去修改核
 * 心类WeatherData不会修改代码，遵守了ocp原则。
 */
public class Client {
    public static void main(String[] args) {
        // 创建一个 WeatherData
        WeatherData weatherData = new WeatherData();

        // 创建观察者
        CurrentConditions currentConditions = new CurrentConditions();

        weatherData.registerObserver(currentConditions);
        weatherData.registerObserver(new BaiduSite());

        // 测试
        System.out.println("通知各个注册的观察者");
        weatherData.setData(10,100,30.3f);


    }
}
